<template>
  <div
    class="xtx-skeleton"
    :style="{ width, height }"
    :class="{ shan: animated }"
  >
    <!-- 1 盒子 -->
    <div class="block" :style="{ backgroundColor: bg }"></div>
    <!-- 2 闪效果 xtx-skeletons 伪元素-->
  </div>
</template>

<script>
export default {
  name: 'XtxSkeleton',
  // 使用的时候需要动态设置 高度,宽度,背景颜色,是否闪下
  props: {
    bg: {
      type: String,
      default: '#efefef'
    },
    width: {
      type: String,
      default: '100px'
    },
    height: {
      type: String,
      default: '100px'
    },
    animated: {
      type: Boolean,
      default: false
    }
  }
}
</script>

<style lang="less" scoped>
// vue3.0特性=>数据驱动样式
// <style lang="less" scoped vars={变量名}>可以传入组件变量
// 使用:backgound-color:var(--变量名/数据名称)
// 注意:打包后不好使
.xtx-skeleton {
  display: inline-block;
  position: relative;
  // width: var(--width);
  // height: var(--height);
  overflow: hidden;
  vertical-align: middle;
  .block {
    width: 100%;
    height: 100%;
    // background-color: var(--bg);
    border-radius: 2px;
  }
}
// 注意:动画序列会加上唯一标识 style有scoped的时候
// 粗暴:放到common.less作为公共样式
</style>
